Lambda-calculus - definizione. Che cos'è Lambda-calculus
Diclib.com
Dizionario ChatGPT
Inserisci una parola o una frase in qualsiasi lingua 👆
Lingua:

Traduzione e analisi delle parole tramite l'intelligenza artificiale ChatGPT

In questa pagina puoi ottenere un'analisi dettagliata di una parola o frase, prodotta utilizzando la migliore tecnologia di intelligenza artificiale fino ad oggi:

  • come viene usata la parola
  • frequenza di utilizzo
  • è usato più spesso nel discorso orale o scritto
  • opzioni di traduzione delle parole
  • esempi di utilizzo (varie frasi con traduzione)
  • etimologia

Cosa (chi) è Lambda-calculus - definizione

FORMAL SYSTEM IN MATHEMATICAL LOGIC
Lamda calculus; Lambda-calculus; Lambda abstraction; Lambda-definable function; Lambda-definable functions; Lambda calculas; Beta reduction; Alpha conversion; Lambda-recursive function; Lambda programming; Eta reduction; Lambda Calculus; Untyped lambda calculus; Λ-calculus; Alpha equivalence; Eta expansion; Abstraction operator; Alpha reduction; Beta substitution; Beta conversion; Α conversion; Λ calculus; Β-reduction; B-reduction; L-calculus; L calculus; A conversion; Beta-reduction; Λa-calculus; Lanbda-calculus; Lambda kalkül; Alpha renaming; Lambda calculi; Λ-abstraction; AlphaRenaming; Α-conversion; Capture-avoiding substitution; Lambda term; Lamda expression; Alpha-renaming; Alpha-conversion; Eta conversion; Eta-conversion; Η-conversion; Η conversion; Lambda language; Type-free lambda calculus; Typefree lambda calculus; Type free lambda calculus; Eta-reduction; Functional abstraction; Λx; Λy; Λz; Anonymous function abstraction; Lambda-calculi; Lambda-term bound variables; Lambda terms; Alpha equivalent

lambda-calculus         
<mathematics> (Normally written with a Greek letter lambda). A branch of mathematical logic developed by Alonzo Church in the late 1930s and early 1940s, dealing with the application of functions to their arguments. The pure lambda-calculus contains no constants - neither numbers nor mathematical functions such as plus - and is untyped. It consists only of lambda abstractions (functions), variables and applications of one function to another. All entities must therefore be represented as functions. For example, the natural number N can be represented as the function which applies its first argument to its second N times (Church integer N). Church invented lambda-calculus in order to set up a foundational project restricting mathematics to quantities with "effective procedures". Unfortunately, the resulting system admits Russell's paradox in a particularly nasty way; Church couldn't see any way to get rid of it, and gave the project up. Most functional programming languages are equivalent to lambda-calculus extended with constants and types. Lisp uses a variant of lambda notation for defining functions but only its purely functional subset is really equivalent to lambda-calculus. See reduction. (1995-04-13)
Lambda calculus         
Lambda calculus (also written as λ-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation that can be used to simulate any Turing machine.
beta conversion         
<theory> A term from lambda-calculus for beta reduction or beta abstraction. (1999-01-15)

Wikipedia

Lambda calculus

Lambda calculus (also written as λ-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation that can be used to simulate any Turing machine. It was introduced by the mathematician Alonzo Church in the 1930s as part of his research into the foundations of mathematics.

Lambda calculus consists of constructing lambda terms and performing reduction operations on them. In the simplest form of lambda calculus, terms are built using only the following rules:

  • x {\displaystyle x} – variable, a character or string representing a parameter or mathematical/logical value.
  • ( λ x . M ) {\textstyle (\lambda x.M)} – abstraction, function definition ( M {\textstyle M} is a lambda term). The variable x {\textstyle x} becomes bound in the expression.
  • ( M   N ) {\displaystyle (M\ N)} – application, applying a function M {\textstyle M} to an argument N {\textstyle N} . Both M {\textstyle M} and N {\textstyle N} are lambda terms.

The reduction operations include:

  • ( λ x . M [ x ] ) ( λ y . M [ y ] ) {\textstyle (\lambda x.M[x])\rightarrow (\lambda y.M[y])} – α-conversion, renaming the bound variables in the expression. Used to avoid name collisions.
  • ( ( λ x . M )   E ) ( M [ x := E ] ) {\textstyle ((\lambda x.M)\ E)\rightarrow (M[x:=E])} – β-reduction, replacing the bound variables with the argument expression in the body of the abstraction.

If De Bruijn indexing is used, then α-conversion is no longer required as there will be no name collisions. If repeated application of the reduction steps eventually terminates, then by the Church–Rosser theorem it will produce a β-normal form.

Variable names are not needed if using a universal lambda function, such as Iota and Jot, which can create any function behavior by calling it on itself in various combinations.